#os模块是Python内置的与操作系统和文件系统相关的模块。
import os
import shutil
print(os.name)#返回当前操作系统的名称
# os.rename('Test.txt','Test_重命名.txt')#重命名文件
# os.remove('Test_2.txt')#删除文件
# os.mkdir('TestCJ')#创建文件夹(目录)
# os.rmdir('TestCJ')#删除空文件夹(目录)
# os.mkdir('c:/Python编程/sub核心') # mkdir只允许创建一级目录不允许创建多级目录
# os.makedirs('c:/Python编程/sub核心') # makedirs允许多级创建目录
# 如果要删除非空目录，就需要调用shutil模块
# shutil.rmtree('c:/Python编程')#非空删除
# 1、相对路径-顾名思义，相对路径就是相对于当前工作目录的路径。
# 2、绝对路径-绝对路径是一种完整的路径，它从文件系统的根目录开始，明确指定文件或目录在文件系统中的位置。
print(os.getcwd())#获取当前工作目录的路径
print(os.path)#路径的拼接
print(os.path.join(os.getcwd(),'venv'))
listRs=os.listdir('c:/')#以列表类型返回指定路径下的文件和目录的信息
for dirname in listRs:#遍历列表
    print(dirname)
    pass
# scandir和with一起来使用，这样的话上下文管理器会在迭代器遍历完成后自动的去释放资源
with os.scandir('c:/') as entries:#现代版写法
    for entry in entries:
        print(entry.name)
        pass
    pass
basePath=r'C:\Windows\apppatch'#在字符串定界符引号的前面加上字母r(或R)，那么该字符串将原样输出，其中的转义字符将不进行转义。
for entry in os.listdir(basePath):
    # if os.path.isfile(os.path.join(basePath,entry)):#判断是否为文件并返回布尔值
    #     print(entry)
    #     pass
    if os.path.isdir(os.path.join(basePath,entry)):#判断是否为目录并返回布尔值
        print(entry)
        pass